package com.yk.points.service.impl;

import java.util.List;
import com.yk.common.utils.DateUtils;
import com.yk.common.utils.ShiroUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yk.points.mapper.PointsUserMapper;
import com.yk.points.domain.PointsUser;
import com.yk.points.service.IPointsUserService;
import com.yk.common.core.text.Convert;

/**
 * 用户积分Service业务层处理
 * 
 * @author xufei
 * @date 2025-04-28
 */
@Service
public class PointsUserServiceImpl implements IPointsUserService 
{
    @Autowired
    private PointsUserMapper pointsUserMapper;

    /**
     * 查询用户积分
     * 
     * @param id 用户积分主键
     * @return 用户积分
     */
    @Override
    public PointsUser selectPointsUserById(Long id)
    {
        return pointsUserMapper.selectPointsUserById(id);
    }

    /**
     * 查询用户积分列表
     * 
     * @param pointsUser 用户积分
     * @return 用户积分
     */
    @Override
    public List<PointsUser> selectPointsUserList(PointsUser pointsUser)
    {
        return pointsUserMapper.selectPointsUserList(pointsUser);
    }

    /**
     * 新增用户积分
     * 
     * @param pointsUser 用户积分
     * @return 结果
     */
    @Override
    public int insertPointsUser(PointsUser pointsUser)
    {
        pointsUser.setCreateBy(ShiroUtils.getLoginName());
        pointsUser.setCreateTime(DateUtils.getNowDate());
        pointsUser.setDelFlag("0");
        return pointsUserMapper.insertPointsUser(pointsUser);
    }

    /**
     * 修改用户积分
     * 
     * @param pointsUser 用户积分
     * @return 结果
     */
    @Override
    public int updatePointsUser(PointsUser pointsUser)
    {
        pointsUser.setUpdateTime(DateUtils.getNowDate());
        pointsUser.setUpdateBy(ShiroUtils.getLoginName());
        return pointsUserMapper.updatePointsUser(pointsUser);
    }

    /**
     * 批量删除用户积分
     * 
     * @param ids 需要删除的用户积分主键
     * @return 结果
     */
    @Override
    public int deletePointsUserByIds(String ids)
    {
        return pointsUserMapper.deletePointsUserByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除用户积分信息
     * 
     * @param id 用户积分主键
     * @return 结果
     */
    @Override
    public int deletePointsUserById(Long id)
    {
        return pointsUserMapper.deletePointsUserById(id);
    }
}
